// const autojsUtils = require('./modules/autojs-utils');
auto();

device.keepScreenOn();


// 程序结束自动 隐藏控制台
console.show(true);


sleep(2 * 1000);
back();
sleep(1 * 1000);
back();
sleep(1 * 1000);
back();
sleep(2 * 1000);
back();
sleep(2 * 1000);
back();
sleep(2 * 1000);


// 打开设置
click("设置");
sleep(3 * 1000);

let hadFoundAppManager = false;
while (!hadFoundAppManager) {
    let appList = className("TextView").find();
    for (let index = 0; index < appList.length; index++) {
        let tv = appList[index];
        let curText = tv.text() || ""
        // console.log("当前: " + index + ", 内容: ", curText)
        if (curText.indexOf("应用管理") !== -1) {
            hadFoundAppManager = true;
        }
    }

    if (hadFoundAppManager) {
        console.log("找到了 应用管理");
        break;
    }

    console.log("还没找到 应用管理");
    swipe(device.width - 100, 600, device.width - 100, 300, 500)
    sleep(2 * 1000);
}


// 打开应用管理
click("应用管理");
sleep(3 * 1000);


// 打开应用列表
click("应用列表");
sleep(3 * 1000);

let hadFoundScriptApp = false;
while (!hadFoundScriptApp) {
    let appList = className("TextView").find();
    for (let index = 0; index < appList.length; index++) {
        let tv = appList[index];
        let curText = tv.text() || ""
        // console.log("当前: " + index + ", 内容: ", curText)
        if (curText.indexOf("MMGHS") !== -1) {
            hadFoundScriptApp = true;
        }
    }

    if (hadFoundScriptApp) {
        console.log("找到了 MMSGHS");
        break;
    }

    console.log("还没找到 MMSGHS");
    let scroHeight = device.height;
    swipe(device.width - 100, scroHeight - 80, device.width - 100, 0, 500)
    sleep(2 * 1000);
}

sleep(3 * 1000);


// 打开脚本 MMGHS
click("MMGHS");
sleep(3 * 1000);

if (true) {
    // 打开权限
    click("权限");
    sleep(3 * 1000);

    swipe(device.width - 100, 500, device.width - 100, 0, 500)

    // 找到 不允许
    let notAllowedIndwx = -1;
    let appPerDetailList = className("TextView").find();
    for (let index = 0; index < appPerDetailList.length; index++) {
        let tv = appPerDetailList[index];
        let curText = tv.text() || ""
        // console.log("当前: " + index + ", 内容: ", curText)
        if (curText.indexOf("不允许") !== -1) {
            console.log("找到了 不允许");
            notAllowedIndwx = index;
            break;
        }
    }

    if (notAllowedIndwx === -1) {
        console.log("没有找到 不允许");
    } else {
        let startIndex = (notAllowedIndwx + 1);
        while (appPerDetailList.length > startIndex) {
            let tv = appPerDetailList[startIndex];
            let curText = tv.text() || ""
            if (curText.indexOf("电话") !== -1) {
                console.log("找到了 电话");
                // 打开 电话
                click("电话");
                sleep(3 * 1000);

                // 打开允许
                click("允许");
                sleep(3 * 1000);
                back();
                sleep(2 * 1000);

                startIndex += 1;
                continue;
            }

            if (curText.indexOf("短信") !== -1) {
                console.log("找到了 短信");
                // 打开 短信
                click("短信");
                sleep(3 * 1000);

                // 打开允许
                click("允许");
                sleep(3 * 1000);
                back();
                sleep(2 * 1000);
            }

            startIndex += 1;
        }
    }


    // 返回到应用详情页
    sleep(2 * 1000);
    back();
    sleep(2 * 1000);


    let hadFoundAppOverflowPer = false;
    while (!hadFoundAppOverflowPer) {
        let appList = className("TextView").find();
        for (let index = 0; index < appList.length; index++) {
            let tv = appList[index];
            let curText = tv.text() || ""
            console.log("当前: " + index + ", 内容: ", curText)
            if (curText.indexOf("显示在其他应用的上层") !== -1) {
                hadFoundAppOverflowPer = true;
            }
        }

        if (hadFoundAppOverflowPer) {
            console.log("找到了 显示在其他应用的上层");
            break;
        }

        console.log("还没找到 显示在其他应用的上层");
        swipe(device.width - 100, 500, device.width - 100, 300, 500)
        sleep(2 * 1000);
    }

    sleep(3 * 1000);

    // 点击 显示在其他应用的上层
    click("显示在其他应用的上层");
    sleep(2 * 1000);

    // 打开允许
    click("允许显示在其他应用的上层");
    sleep(3 * 1000);

    back();
    sleep(2 * 1000);


    // 返回到应用列表页
    back();
    sleep(2 * 1000);


    // 返回到应用管理页
    back();
    sleep(2 * 1000);


    // 返回到设置页
    back();
    sleep(2 * 1000);


    click("特色功能");
    sleep(2 * 1000);

    let hadFoundAccessiant = false;
    while (!hadFoundAccessiant) {
        let appList = className("TextView").find();
        for (let index = 0; index < appList.length; index++) {
            let tv = appList[index];
            let curText = tv.text() || ""
            // console.log("当前: " + index + ", 内容: ", curText)
            if (curText.indexOf("无障碍") !== -1) {
                hadFoundAccessiant = true;
            }
        }

        if (hadFoundAccessiant) {
            console.log("找到了 无障碍");
            break;
        }

        console.log("还没找到 无障碍");
        swipe(device.width - 100, 500, device.width - 100, 300, 500)
        sleep(2 * 1000);
    }

    sleep(2 * 1000);


    click("无障碍");
    sleep(2 * 1000);

    click("MMGHS");
    sleep(2 * 1000);

    click("确定");
    sleep(2 * 1000);

    // 返回 特色功能页
    back();
    sleep(2 * 1000);

    // 返回 设置页
    back();
    sleep(2 * 1000);

    click("应用管理");
    sleep(2 * 1000);

    click("应用列表");
    sleep(2 * 1000);

    hadFoundScriptApp = false;
    while (!hadFoundScriptApp) {
        let appList = className("TextView").find();
        for (let index = 0; index < appList.length; index++) {
            let tv = appList[index];
            let curText = tv.text() || ""
            // console.log("当前: " + index + ", 内容: ", curText)
            if (curText.indexOf("MMGHS") !== -1) {
                hadFoundScriptApp = true;
            }
        }

        if (hadFoundScriptApp) {
            console.log("找到了 MMSGHS");
            break;
        }

        console.log("还没找到 MMSGHS");
        let scroHeight = device.height;
        swipe(0, scroHeight - 80, 0, 0, 500)
        sleep(2 * 1000);
    }

    sleep(3 * 1000);

    // 打开脚本 MMGHS
    click("MMGHS");
    sleep(3 * 1000);
}

// 打开权限受限
bounds(604, 80, 700, 176).clickable().click()
sleep(2 * 1000);
click("解锁受限设置");
sleep(2 * 1000);


// 输入密码
let editList = className("EditText").find();
if (editList.length > 0) {
    let tv = editList[0];
    tv.setText("124578");
    sleep(500);
    sleep(2 * 1000);

    click(device.width - 10, device.height - 120);
}

sleep(2 * 1000);





// 判断是否已经同意 
// 604, 376, 676, 420
// 0,   338  720, 458
// bounds(604, 376, 676, 420).clickable().click()

if (true) {
    // 返回到应用列表页
    back();
    sleep(2 * 1000);


    // 返回到应用管理页
    back();
    sleep(2 * 1000);


    // 返回到设置页
    back();
    sleep(2 * 1000);


    click("特色功能");
    sleep(2 * 1000);


    click("无障碍");
    sleep(2 * 1000);


    click("MMGHS");
    sleep(2 * 1000);


    click("使用MMGHS");
    sleep(2 * 1000);


    click("允许");
    sleep(2 * 1000);

    // 返回 无障碍 页
    back();
    sleep(2 * 1000);

    // 返回 特色功能 页
    back();
    sleep(2 * 1000);

    // 返回 设置 页
    back();
    sleep(2 * 1000);

    // 返回 首页 页
    back();
    sleep(2 * 1000);
}